package com.yanfan.mq.redischannel.producer;

import com.yanfan.common.core.mq.DeviceReportBo;
import com.yanfan.common.core.mq.DeviceStatusBo;
import com.yanfan.common.core.mq.DeviceTestReportBo;
import com.yanfan.common.core.mq.MQSendMessageBo;
import com.yanfan.common.core.mq.message.ModbusPollMsg;
import com.yanfan.mq.redischannel.queue.*;

/**
 * 设备消息生产者 ,设备的消息发送通道   消息转发的队列
 *
 * @author bill
 */
public class MessageProducer {

    /*发送设备获取属性消息到队列*/
    public static void sendPropFetch(ModbusPollMsg bo) {
        DevicePropFetchQueue.offer(bo);
    }

    /*发送设备服务下发消息到队列*/
    public static void sendFunctionInvoke(MQSendMessageBo bo) {
        FunctionInvokeQueue.offer(bo);
    }

    /*发送设备上报消息到队列*/
    public static void sendPublishMsg(DeviceReportBo bo) {
        DeviceReportQueue.offer(bo);
    }

    public static void sendOtherMsg(DeviceReportBo bo) {
        DeviceOtherQueue.offer(bo);
    }

    public static void sendStatusMsg(DeviceStatusBo bo) {
        DeviceStatusQueue.offer(bo);
    }

    /**
     * 设备调试通道
     *
     * @param bo
     */
    public static void sendDeviceTestMsg(DeviceTestReportBo bo) {
        DeviceTestQueue.offer(bo);
    }


}
